Add WA state income tax reform#7761
Conversation
Starting implementation of WA Senate Bill 6346-S: 9.9% income tax on household incomes over $1M. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Note: Inflation indexing of the $1M standard deductionSSB 6346 Sec. 312 specifies that the $1M standard deduction should be indexed for inflation starting October 2029 (for tax year 2030), using the Seattle-area CPI-U (all items, all urban consumers), rounded to the nearest $1,000. We don't currently have the Seattle-area CPI-U in PolicyEngine. A reasonable approximation would be to use the national CPI-U uprating instead — the difference between Seattle-area and national CPI-U is typically small. We could add Worth implementing as a follow-up once we decide on the right CPI proxy. |
Uses national CPI-U as proxy for Seattle-area CPI-U specified in Sec. 312. Rounds to nearest $1,000. Indexing starts tax year 2030. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PR Review: WA SSB 6346 Income Tax ReformOverall Assessment: ✅ APPROVE with SuggestionsThis is a well-implemented reform that follows PolicyEngine patterns correctly. The implementation is comprehensive with good test coverage. CI is passing. A few minor improvements are suggested. 🟢 Positive Observations
🟡 Should Address (Minor)1. Parameter Description Format (
|
| Scenario | Status | Notes |
|---|---|---|
| $1M threshold boundaries | Case 6 tests exactly $1M; consider adding $999,999 and $1,000,001 | |
| Charitable cap (individual) | ✅ Good | Case 8 tests over cap ($200k → $100k) |
| Charitable cap (joint) | Add test with married couple exceeding $100k combined | |
| WFTC age boundaries | Case 9 tests age 22; consider adding age 17 (ineligible) and age 18 (minimum) | |
| Reform disabled | ❌ Missing | Add test with in_effect: false to verify reform toggle |
Suggested additional test: Married couple with $120k combined charitable ($60k each) to verify joint cap at $100k.
✅ Validation Summary
| Check | Result |
|---|---|
| CI Status | ✅ All passing |
| Regulatory Accuracy | ✅ Matches SSB 6346 provisions |
| Reference Quality | ✅ All parameters have PDF page refs |
| Code Patterns | ✅ Follows PolicyEngine standards |
| Test Coverage | ✅ Good (11 cases) |
📋 Implementation Notes
The PR correctly documents deferred items:
- Full Secs. 302-306 base income modifications (LTCG swap, etc.)
- CPI indexing (Seattle-area CPI vs national CPI)
- ITIN filer eligibility
- Married-filing-separately WFTC
This is a reasonable scope for initial implementation.
Recommendation: Merge after addressing the minor parameter formatting suggestions. The additional test cases are optional but would improve robustness.
Summary
Implements Washington State SSB 6346 as a contributed reform:
Closes #7758.
Reform type
C: Comprehensive tax reform — new state income tax + WFTC eligibility expansion.
Parameters created
gov/contrib/states/wa/sb6346/in_effect.yaml— Boolean toggle (default: false)gov/contrib/states/wa/sb6346/rate.yaml— 9.9% tax rate (effective 2028)gov/contrib/states/wa/sb6346/standard_deduction/amount.yaml— $1,000,000 deductiongov/contrib/states/wa/sb6346/charitable_deduction/cap/individual.yaml— $100,000 capgov/contrib/states/wa/sb6346/charitable_deduction/cap/joint.yaml— $100,000 cap (joint)gov/contrib/states/wa/sb6346/wftc/min_age.yaml— Minimum age 18 for WFTC expansionVariables defined
Income tax (Secs. 201-310)
wa_income_tax_base_income— NEW — Federal AGI as base (Secs. 302-306 modifications deferred)wa_income_tax_charitable_deduction— NEW — Charitable deduction capped at $100Kwa_income_tax_standard_deduction— NEW — $1M standard deduction (same for all filers)wa_income_tax_taxable_income— NEW — Base income minus deductions, floored at $0wa_income_tax— OVERRIDE — 9.9% of taxable income + capital gains tax - refundable creditsWFTC expansion (Sec. 901)
wa_working_families_tax_credit— OVERRIDE — Expands eligibility to filers aged 18+ with earned income (previously required age 25+ via federal EITC eligibility)Key implementation notes
Registration
reforms/reforms.pywith factory function patternmodify_parameters()needed — overrides existing variablesTest coverage
11 test cases covering:
Regulatory sources
Deferred for future enhancement
Files added/modified
policyengine_us/parameters/gov/contrib/states/wa/sb6346/— 6 parameter filespolicyengine_us/reforms/states/wa/sb6346/sb6346.py— reform implementationpolicyengine_us/reforms/states/wa/sb6346/__init__.py— exportspolicyengine_us/reforms/states/wa/__init__.py— package initpolicyengine_us/reforms/reforms.py— registrationpolicyengine_us/tests/policy/contrib/states/wa/sb6346/sb6346.yaml— 11 testschangelog.d/wa-income-tax.added.md— changelog entrysources/working_references.md— reference documentation